<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>AXI muckbucket: rtl/axi_uvm_pkg.sv File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">AXI muckbucket
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_76abd0e99dd7fac17b3d6a551048fb5f.html">rtl</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">axi_uvm_pkg.sv File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;uvm_macros.svh&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__seq__item_8svh_source.html">axi_seq_item.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="memory_8svh_source.html">memory.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__agent__config_8svh_source.html">axi_agent_config.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__sequencer_8svh_source.html">axi_sequencer.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__seq_8svh_source.html">axi_seq.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__responder__seq_8svh_source.html">axi_responder_seq.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__sequential__writes__seq_8svh_source.html">axi_sequential_writes_seq.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__pipelined__writes__seq_8svh_source.html">axi_pipelined_writes_seq.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__sequential__reads__seq_8svh_source.html">axi_sequential_reads_seq.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__pipelined__reads__seq_8svh_source.html">axi_pipelined_reads_seq.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__driver_8svh_source.html">axi_driver.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__responder_8svh_source.html">axi_responder.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__monitor_8svh_source.html">axi_monitor.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__scoreboard_8svh_source.html">axi_scoreboard.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__coveragecollector_8svh_source.html">axi_coveragecollector.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__agent_8svh_source.html">axi_agent.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__env__config_8svh_source.html">axi_env_config.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__env_8svh_source.html">axi_env.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__base__test_8svh_source.html">axi_base_test.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__sequential__writes__test_8svh_source.html">axi_sequential_writes_test.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__pipelined__writes__test_8svh_source.html">axi_pipelined_writes_test.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__sequential__reads__test_8svh_source.html">axi_sequential_reads_test.svh</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="axi__pipelined__reads__test_8svh_source.html">axi_pipelined_reads_test.svh</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for axi_uvm_pkg.sv:</div>
<div class="dyncontent">
<div class="center"><img src="axi__uvm__pkg_8sv__incl.png" border="0" usemap="#rtl_2axi__uvm__pkg_8sv" alt=""/></div>
<map name="rtl_2axi__uvm__pkg_8sv" id="rtl_2axi__uvm__pkg_8sv">
<area shape="rect" id="node3" href="axi__seq__item_8svh.html" title="axi_seq_item.svh" alt="" coords="153,87,277,114"/>
<area shape="rect" id="node4" href="memory_8svh.html" title="memory.svh" alt="" coords="301,87,395,114"/>
<area shape="rect" id="node5" href="axi__agent__config_8svh.html" title="axi_agent_config.svh" alt="" coords="419,87,565,114"/>
<area shape="rect" id="node6" href="axi__sequencer_8svh.html" title="axi_sequencer.svh" alt="" coords="589,87,720,114"/>
<area shape="rect" id="node7" href="axi__seq_8svh.html" title="axi_seq.svh" alt="" coords="745,87,837,114"/>
<area shape="rect" id="node8" href="axi__responder__seq_8svh.html" title="axi_responder_seq.svh" alt="" coords="861,87,1017,114"/>
<area shape="rect" id="node9" href="axi__sequential__writes__seq_8svh.html" title="axi_sequential_writes\l_seq.svh" alt="" coords="1041,80,1188,121"/>
<area shape="rect" id="node10" href="axi__pipelined__writes__seq_8svh.html" title="axi_pipelined_writes\l_seq.svh" alt="" coords="1212,80,1351,121"/>
<area shape="rect" id="node11" href="axi__sequential__reads__seq_8svh.html" title="axi_sequential_reads\l_seq.svh" alt="" coords="1375,80,1519,121"/>
<area shape="rect" id="node12" href="axi__pipelined__reads__seq_8svh.html" title="axi_pipelined_reads\l_seq.svh" alt="" coords="1543,80,1679,121"/>
<area shape="rect" id="node13" href="axi__driver_8svh.html" title="axi_driver.svh" alt="" coords="1703,87,1806,114"/>
<area shape="rect" id="node14" href="axi__responder_8svh.html" title="axi_responder.svh" alt="" coords="1831,87,1959,114"/>
<area shape="rect" id="node15" href="axi__monitor_8svh.html" title="axi_monitor.svh" alt="" coords="1983,87,2097,114"/>
<area shape="rect" id="node16" href="axi__scoreboard_8svh.html" title="axi_scoreboard.svh" alt="" coords="2122,87,2257,114"/>
<area shape="rect" id="node17" href="axi__coveragecollector_8svh.html" title="axi_coveragecollector.svh" alt="" coords="2281,87,2455,114"/>
<area shape="rect" id="node18" href="axi__agent_8svh.html" title="axi_agent.svh" alt="" coords="2479,87,2582,114"/>
<area shape="rect" id="node19" href="axi__env__config_8svh.html" title="axi_env_config.svh" alt="" coords="2606,87,2741,114"/>
<area shape="rect" id="node20" href="axi__env_8svh.html" title="axi_env.svh" alt="" coords="2765,87,2857,114"/>
<area shape="rect" id="node21" href="axi__base__test_8svh.html" title="axi_base_test.svh" alt="" coords="2881,87,3009,114"/>
<area shape="rect" id="node22" href="axi__sequential__writes__test_8svh.html" title="axi_sequential_writes\l_test.svh" alt="" coords="3033,80,3180,121"/>
<area shape="rect" id="node23" href="axi__pipelined__writes__test_8svh.html" title="axi_pipelined_writes\l_test.svh" alt="" coords="3204,80,3343,121"/>
<area shape="rect" id="node24" href="axi__sequential__reads__test_8svh.html" title="axi_sequential_reads\l_test.svh" alt="" coords="3367,80,3511,121"/>
<area shape="rect" id="node25" href="axi__pipelined__reads__test_8svh.html" title="axi_pipelined_reads\l_test.svh" alt="" coords="3535,80,3671,121"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="axi__uvm__pkg_8sv__dep__incl.png" border="0" usemap="#rtl_2axi__uvm__pkg_8svdep" alt=""/></div>
<map name="rtl_2axi__uvm__pkg_8svdep" id="rtl_2axi__uvm__pkg_8svdep">
<area shape="rect" id="node2" href="testbench_8sv.html" title="tb/testbench.sv" alt="" coords="15,80,127,107"/>
</map>
</div>
</div>
<p><a href="axi__uvm__pkg_8sv_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceaxi__uvm__pkg"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceaxi__uvm__pkg.html">axi_uvm_pkg</a></td></tr>
<tr class="memdesc:namespaceaxi__uvm__pkg"><td class="mdescLeft">&#160;</td><td class="mdescRight">Systemverilog package for AXI UVM environment. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a61e2725bbc7455ef96bc6422c484179e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="axi__uvm__pkg_8sv.html#a61e2725bbc7455ef96bc6422c484179e">axi_protocol_version_t</a> { <a class="el" href="axi__uvm__pkg_8sv.html#a61e2725bbc7455ef96bc6422c484179eae4b60da8ab9263bf43220d854ca4f083">e_AXI3</a> =0, 
<a class="el" href="axi__uvm__pkg_8sv.html#a61e2725bbc7455ef96bc6422c484179eaef6b388d7a7e4a0230aa1f1d88e90e17">e_AXI4</a> =1
 }<tr class="memdesc:a61e2725bbc7455ef96bc6422c484179e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Version 3 or Version 4.  <a href="axi__uvm__pkg_8sv.html#a61e2725bbc7455ef96bc6422c484179e">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a61e2725bbc7455ef96bc6422c484179e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00d51b3cb2e1fa09bdba2968e0cf7ac7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7">cmd_t</a> { <br />
&#160;&#160;<a class="el" href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7ace2e65e53ce6e3353bf0f1528ce9e41c">e_WRITE</a> = 0, 
<a class="el" href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7ab51300cc776c601e1d0ad91600864b65">e_READ</a> = 1, 
<a class="el" href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7af0f0a3f16ee52da7d18bcffb19fa8e1b">e_READ_DATA</a> = 2, 
<a class="el" href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7a029adc7518e110bcf18b2ee9ac675729">e_WRITE_DATA</a>, 
<br />
&#160;&#160;<a class="el" href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7ababe4cb328ef76b5a95cccf946a7f05c">e_WRITE_RESPONSE</a>, 
<a class="el" href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7a45e30ecedc8fe5925ad244b3c19a9e65">e_SETAWREADYTOGGLEPATTERN</a>, 
<a class="el" href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7a6a5535597fc2b48f59612facdfdbb159">e_SETWREADYTOGGLEPATTERN</a>, 
<a class="el" href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7a947a3161e963af611b85bc6e0be09daf">e_SETARREADYTOGGLEPATTERN</a>, 
<br />
&#160;&#160;<a class="el" href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7a2a49959aafc14dbe73f80ae8d1eef34c">e_SET_MIN_CLKS_BETWEEN_AW_TRANSFERS</a>, 
<a class="el" href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7acd1ca9ce1a07684892c22ecd7c915d62">e_SET_MAX_CLKS_BETWEEN_W_TRANSFERS</a>
<br />
 }<tr class="memdesc:a00d51b3cb2e1fa09bdba2968e0cf7ac7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Command type - what is the purpose of this packet?  <a href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a00d51b3cb2e1fa09bdba2968e0cf7ac7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8116d2e0fd01b57b2c352460a75e3c2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="axi__uvm__pkg_8sv.html#ad8116d2e0fd01b57b2c352460a75e3c2">driver_type_t</a> { <a class="el" href="axi__uvm__pkg_8sv.html#ad8116d2e0fd01b57b2c352460a75e3c2addbb99006361b10c0fc879b634dda59c">e_DRIVER</a>, 
<a class="el" href="axi__uvm__pkg_8sv.html#ad8116d2e0fd01b57b2c352460a75e3c2a783d768df7157017892f147dc3c1b277">e_RESPONDER</a>
 }<tr class="memdesc:ad8116d2e0fd01b57b2c352460a75e3c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Config variable that tells <a class="el" href="classaxi__driver.html" title="Logic to act as an AXI master for all 5 channels. ">axi_driver</a> whether it is a master driver or slave driver(responder)  <a href="axi__uvm__pkg_8sv.html#ad8116d2e0fd01b57b2c352460a75e3c2">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ad8116d2e0fd01b57b2c352460a75e3c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a3c088311f24952a34d4689161adaac3e"><td class="memItemLeft" align="right" valign="top">automatic void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="axi__uvm__pkg_8sv.html#a3c088311f24952a34d4689161adaac3e">aw_from_class</a> (ref <a class="el" href="classaxi__seq__item.html">axi_seq_item</a> t, output <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__aw__vector__s">axi_seq_item_aw_vector_s</a> v)</td></tr>
<tr class="memdesc:a3c088311f24952a34d4689161adaac3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pull values out of <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a> and stuff into a <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__aw__vector__s" title="This packed struct is used to send write address channel information between the DUT and TB...">axi_seq_item_aw_vector_s</a>.  <a href="#a3c088311f24952a34d4689161adaac3e">More...</a><br /></td></tr>
<tr class="separator:a3c088311f24952a34d4689161adaac3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acaa78ee9684ddd7ba5bf9cdfa88808e0"><td class="memItemLeft" align="right" valign="top">automatic void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="axi__uvm__pkg_8sv.html#acaa78ee9684ddd7ba5bf9cdfa88808e0">aw_to_class</a> (ref <a class="el" href="classaxi__seq__item.html">axi_seq_item</a> t, input <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__aw__vector__s">axi_seq_item_aw_vector_s</a> v)</td></tr>
<tr class="memdesc:acaa78ee9684ddd7ba5bf9cdfa88808e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pull values out of a <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__aw__vector__s" title="This packed struct is used to send write address channel information between the DUT and TB...">axi_seq_item_aw_vector_s</a> and stuffs them into an <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a>.  <a href="#acaa78ee9684ddd7ba5bf9cdfa88808e0">More...</a><br /></td></tr>
<tr class="separator:acaa78ee9684ddd7ba5bf9cdfa88808e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaa8c31d7d52e81bbfb1aaa69ebef75f"><td class="memItemLeft" align="right" valign="top">automatic void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="axi__uvm__pkg_8sv.html#aaaa8c31d7d52e81bbfb1aaa69ebef75f">b_from_class</a> (input[<a class="el" href="axi__uvm__pkg_8sv.html#a72106dc9a410d6f7f00a11d81bfbf4e7">ID_WIDTH</a>-1:0] bid, input[2] bresp, output <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__b__vector__s">axi_seq_item_b_vector_s</a> v)</td></tr>
<tr class="memdesc:aaaa8c31d7d52e81bbfb1aaa69ebef75f"><td class="mdescLeft">&#160;</td><td class="mdescRight">take values from write response channel and stuff into a <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__b__vector__s" title="This packed struct is used to send write response channel information between the DUT and TB...">axi_seq_item_b_vector_s</a>  <a href="#aaaa8c31d7d52e81bbfb1aaa69ebef75f">More...</a><br /></td></tr>
<tr class="separator:aaaa8c31d7d52e81bbfb1aaa69ebef75f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a966a2770a1d733e0eec230225ca39f77"><td class="memItemLeft" align="right" valign="top">automatic void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="axi__uvm__pkg_8sv.html#a966a2770a1d733e0eec230225ca39f77">b_to_class</a> (ref <a class="el" href="classaxi__seq__item.html">axi_seq_item</a> t, input <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__b__vector__s">axi_seq_item_b_vector_s</a> v)</td></tr>
<tr class="memdesc:a966a2770a1d733e0eec230225ca39f77"><td class="mdescLeft">&#160;</td><td class="mdescRight">return values from a <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__b__vector__s" title="This packed struct is used to send write response channel information between the DUT and TB...">axi_seq_item_b_vector_s</a> and return an <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a>  <a href="#a966a2770a1d733e0eec230225ca39f77">More...</a><br /></td></tr>
<tr class="separator:a966a2770a1d733e0eec230225ca39f77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4d0c18dcaf8e3158783999e74b7a94"><td class="memItemLeft" align="right" valign="top">automatic void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="axi__uvm__pkg_8sv.html#a0f4d0c18dcaf8e3158783999e74b7a94">ar_from_class</a> (ref <a class="el" href="classaxi__seq__item.html">axi_seq_item</a> t, output <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__ar__vector__s">axi_seq_item_ar_vector_s</a> v)</td></tr>
<tr class="memdesc:a0f4d0c18dcaf8e3158783999e74b7a94"><td class="mdescLeft">&#160;</td><td class="mdescRight">take values from an <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a> and stuff into a <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__ar__vector__s" title="This packed struct is used to send read address channel information between the DUT and TB...">axi_seq_item_ar_vector_s</a>  <a href="#a0f4d0c18dcaf8e3158783999e74b7a94">More...</a><br /></td></tr>
<tr class="separator:a0f4d0c18dcaf8e3158783999e74b7a94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed1da5b42d561f8319065d7d6eed556b"><td class="memItemLeft" align="right" valign="top">automatic void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="axi__uvm__pkg_8sv.html#aed1da5b42d561f8319065d7d6eed556b">ar_to_class</a> (ref <a class="el" href="classaxi__seq__item.html">axi_seq_item</a> t, input <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__ar__vector__s">axi_seq_item_ar_vector_s</a> v)</td></tr>
<tr class="memdesc:aed1da5b42d561f8319065d7d6eed556b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pull values out of a <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__ar__vector__s" title="This packed struct is used to send read address channel information between the DUT and TB...">axi_seq_item_ar_vector_s</a> and stuffs them into an <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a>.  <a href="#aed1da5b42d561f8319065d7d6eed556b">More...</a><br /></td></tr>
<tr class="separator:aed1da5b42d561f8319065d7d6eed556b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a137c0955e8f91047325731db53b341bf"><td class="memItemLeft" align="right" valign="top">localparam&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="axi__uvm__pkg_8sv.html#a137c0955e8f91047325731db53b341bf">ADDR_WIDTH</a> = <a class="el" href="params__pkg_8sv.html#a243e565e7e0e8614253648f1c4c47a2a">params_pkg::AXI_ADDR_WIDTH</a></td></tr>
<tr class="separator:a137c0955e8f91047325731db53b341bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72106dc9a410d6f7f00a11d81bfbf4e7"><td class="memItemLeft" align="right" valign="top">localparam&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="axi__uvm__pkg_8sv.html#a72106dc9a410d6f7f00a11d81bfbf4e7">ID_WIDTH</a> = <a class="el" href="params__pkg_8sv.html#acc3f1524ce307037059dc1777798ee1f">params_pkg::AXI_ID_WIDTH</a></td></tr>
<tr class="separator:a72106dc9a410d6f7f00a11d81bfbf4e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab685431fd1ef23162d3fdbf1784e6cf"><td class="memItemLeft" align="right" valign="top">localparam&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="axi__uvm__pkg_8sv.html#aab685431fd1ef23162d3fdbf1784e6cf">LEN_WIDTH</a> = <a class="el" href="params__pkg_8sv.html#afd06121ba6ea9496041ee05853712a73">params_pkg::AXI_LEN_WIDTH</a></td></tr>
<tr class="separator:aab685431fd1ef23162d3fdbf1784e6cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="a61e2725bbc7455ef96bc6422c484179e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="axi__uvm__pkg_8sv.html#a61e2725bbc7455ef96bc6422c484179e">axi_protocol_version_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Version 3 or Version 4. </p>
<p>A few differences:</p><ul>
<li>AXI4 has no WID</li>
<li>if burst_type=e_INCR, then AxLEN can be to 256[2**8], instead of just 16 [2**4] </li>
</ul>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a61e2725bbc7455ef96bc6422c484179eae4b60da8ab9263bf43220d854ca4f083"></a>e_AXI3&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a61e2725bbc7455ef96bc6422c484179eaef6b388d7a7e4a0230aa1f1d88e90e17"></a>e_AXI4&#160;</td><td class="fielddoc">
</td></tr>
</table>

<p>Definition at line <a class="el" href="axi__uvm__pkg_8sv_source.html#l00052">52</a> of file <a class="el" href="axi__uvm__pkg_8sv_source.html">axi_uvm_pkg.sv</a>.</p>

</div>
</div>
<a class="anchor" id="a00d51b3cb2e1fa09bdba2968e0cf7ac7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="axi__uvm__pkg_8sv.html#a00d51b3cb2e1fa09bdba2968e0cf7ac7">cmd_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Command type - what is the purpose of this packet? </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a00d51b3cb2e1fa09bdba2968e0cf7ac7ace2e65e53ce6e3353bf0f1528ce9e41c"></a>e_WRITE&#160;</td><td class="fielddoc">
<p>AXI Write - Driver handles </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a00d51b3cb2e1fa09bdba2968e0cf7ac7ab51300cc776c601e1d0ad91600864b65"></a>e_READ&#160;</td><td class="fielddoc">
<p>AXI Read - Driver handles </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a00d51b3cb2e1fa09bdba2968e0cf7ac7af0f0a3f16ee52da7d18bcffb19fa8e1b"></a>e_READ_DATA&#160;</td><td class="fielddoc">
<p>Read Data - Responder handles </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a00d51b3cb2e1fa09bdba2968e0cf7ac7a029adc7518e110bcf18b2ee9ac675729"></a>e_WRITE_DATA&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a00d51b3cb2e1fa09bdba2968e0cf7ac7ababe4cb328ef76b5a95cccf946a7f05c"></a>e_WRITE_RESPONSE&#160;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a00d51b3cb2e1fa09bdba2968e0cf7ac7a45e30ecedc8fe5925ad244b3c19a9e65"></a>e_SETAWREADYTOGGLEPATTERN&#160;</td><td class="fielddoc">
<p>Set awready toggle pattern - responder handles </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a00d51b3cb2e1fa09bdba2968e0cf7ac7a6a5535597fc2b48f59612facdfdbb159"></a>e_SETWREADYTOGGLEPATTERN&#160;</td><td class="fielddoc">
<p>Set wready toggle pattern - responder handles </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a00d51b3cb2e1fa09bdba2968e0cf7ac7a947a3161e963af611b85bc6e0be09daf"></a>e_SETARREADYTOGGLEPATTERN&#160;</td><td class="fielddoc">
<p>Set bready toggle pattern - driver handles </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a00d51b3cb2e1fa09bdba2968e0cf7ac7a2a49959aafc14dbe73f80ae8d1eef34c"></a>e_SET_MIN_CLKS_BETWEEN_AW_TRANSFERS&#160;</td><td class="fielddoc">
<p>Set minimum pause between aw xfers - Driver uses </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a00d51b3cb2e1fa09bdba2968e0cf7ac7acd1ca9ce1a07684892c22ecd7c915d62"></a>e_SET_MAX_CLKS_BETWEEN_W_TRANSFERS&#160;</td><td class="fielddoc">
<p>Set maximum pause between aw xfers - Driver uses </p>
</td></tr>
</table>

<p>Definition at line <a class="el" href="axi__uvm__pkg_8sv_source.html#l00057">57</a> of file <a class="el" href="axi__uvm__pkg_8sv_source.html">axi_uvm_pkg.sv</a>.</p>

</div>
</div>
<a class="anchor" id="ad8116d2e0fd01b57b2c352460a75e3c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="axi__uvm__pkg_8sv.html#ad8116d2e0fd01b57b2c352460a75e3c2">driver_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Config variable that tells <a class="el" href="classaxi__driver.html" title="Logic to act as an AXI master for all 5 channels. ">axi_driver</a> whether it is a master driver or slave driver(responder) </p>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>: Split driver and responder into different components. </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ad8116d2e0fd01b57b2c352460a75e3c2addbb99006361b10c0fc879b634dda59c"></a>e_DRIVER&#160;</td><td class="fielddoc">
<p>Agent is a master </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="ad8116d2e0fd01b57b2c352460a75e3c2a783d768df7157017892f147dc3c1b277"></a>e_RESPONDER&#160;</td><td class="fielddoc">
<p>Agent is a slave/responder </p>
</td></tr>
</table>

<p>Definition at line <a class="el" href="axi__uvm__pkg_8sv_source.html#l00077">77</a> of file <a class="el" href="axi__uvm__pkg_8sv_source.html">axi_uvm_pkg.sv</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a0f4d0c18dcaf8e3158783999e74b7a94"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">automatic void ar_from_class </td>
          <td>(</td>
          <td class="paramtype">ref <a class="el" href="classaxi__seq__item.html">axi_seq_item</a>&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">output <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__ar__vector__s">axi_seq_item_ar_vector_s</a>&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>take values from an <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a> and stuff into a <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__ar__vector__s" title="This packed struct is used to send read address channel information between the DUT and TB...">axi_seq_item_ar_vector_s</a> </p>
<p>This funcion returns a ready-to-be used struct so arlen and araddr are calcuated in this function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>- The <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a> is passed by reference </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>v - packed struct of type <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__ar__vector__s" title="This packed struct is used to send read address channel information between the DUT and TB...">axi_seq_item_ar_vector_s</a> </dd></dl>

<p>Definition at line <a class="el" href="axi__uvm__pkg_8sv_source.html#l00193">193</a> of file <a class="el" href="axi__uvm__pkg_8sv_source.html">axi_uvm_pkg.sv</a>.</p>

<p>References <a class="el" href="axi__pkg_8sv_source.html#l00180">axi_seq_item_ar_vector_s::araddr</a>, <a class="el" href="axi__pkg_8sv_source.html#l00185">axi_seq_item_ar_vector_s::arburst</a>, <a class="el" href="axi__pkg_8sv_source.html#l00187">axi_seq_item_ar_vector_s::arcache</a>, <a class="el" href="axi__pkg_8sv_source.html#l00179">axi_seq_item_ar_vector_s::arid</a>, <a class="el" href="axi__pkg_8sv_source.html#l00183">axi_seq_item_ar_vector_s::arlen</a>, <a class="el" href="axi__pkg_8sv_source.html#l00186">axi_seq_item_ar_vector_s::arlock</a>, <a class="el" href="axi__pkg_8sv_source.html#l00188">axi_seq_item_ar_vector_s::arprot</a>, <a class="el" href="axi__pkg_8sv_source.html#l00189">axi_seq_item_ar_vector_s::arqos</a>, <a class="el" href="axi__pkg_8sv_source.html#l00184">axi_seq_item_ar_vector_s::arsize</a>, <a class="el" href="axi__pkg_8sv_source.html#l00320">calculate_axlen()</a>, and <a class="el" href="axi__pkg_8sv_source.html#l00230">calculate_burst_aligned_address()</a>.</p>

<p>Referenced by <a class="el" href="axi__driver_8svh_source.html#l00515">axi_driver::read_address()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="axi__uvm__pkg_8sv_a0f4d0c18dcaf8e3158783999e74b7a94_cgraph.png" border="0" usemap="#axi__uvm__pkg_8sv_a0f4d0c18dcaf8e3158783999e74b7a94_cgraph" alt=""/></div>
<map name="axi__uvm__pkg_8sv_a0f4d0c18dcaf8e3158783999e74b7a94_cgraph" id="axi__uvm__pkg_8sv_a0f4d0c18dcaf8e3158783999e74b7a94_cgraph">
<area shape="rect" id="node2" href="axi__pkg_8sv.html#afbfbf7a50bf6dabae3804e39d05434b1" title="calculate awlen or arlen " alt="" coords="181,13,293,39"/>
<area shape="rect" id="node4" href="axi__pkg_8sv.html#a6c8ade980c77973114ddfd403d25bc23" title="calculate burst_size aligned address " alt="" coords="157,64,316,105"/>
<area shape="rect" id="node3" href="axi__pkg_8sv.html#a1bb88ba6ed9a3a081a64f90042a681b5" title="calculate how unaligned the address is from the burst size " alt="" coords="364,5,515,47"/>
</map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="axi__uvm__pkg_8sv_a0f4d0c18dcaf8e3158783999e74b7a94_icgraph.png" border="0" usemap="#axi__uvm__pkg_8sv_a0f4d0c18dcaf8e3158783999e74b7a94_icgraph" alt=""/></div>
<map name="axi__uvm__pkg_8sv_a0f4d0c18dcaf8e3158783999e74b7a94_icgraph" id="axi__uvm__pkg_8sv_a0f4d0c18dcaf8e3158783999e74b7a94_icgraph">
<area shape="rect" id="node2" href="classaxi__driver.html#a4edb359e7927c729b939ebd992f83d05" title="Read Address channel thread. " alt="" coords="157,5,321,32"/>
<area shape="rect" id="node3" href="classaxi__driver.html#a805fb1f256df6dedb3a6d62389203245" title="Launches channel driver threads and then acts as a dispatcher. " alt="" coords="369,5,516,32"/>
</map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aed1da5b42d561f8319065d7d6eed556b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">automatic void ar_to_class </td>
          <td>(</td>
          <td class="paramtype">ref <a class="el" href="classaxi__seq__item.html">axi_seq_item</a>&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">input <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__ar__vector__s">axi_seq_item_ar_vector_s</a>&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pull values out of a <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__ar__vector__s" title="This packed struct is used to send read address channel information between the DUT and TB...">axi_seq_item_ar_vector_s</a> and stuffs them into an <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a>. </p>
<p>t.len is converted from arlen into a byte len. It uses burst_size (bytes per beat) * beats_per_burst to give a maximum byte length. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>- an <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>v - a packed struct of type <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__ar__vector__s" title="This packed struct is used to send read address channel information between the DUT and TB...">axi_seq_item_ar_vector_s</a> </dd></dl>

<p>Definition at line <a class="el" href="axi__uvm__pkg_8sv_source.html#l00229">229</a> of file <a class="el" href="axi__uvm__pkg_8sv_source.html">axi_uvm_pkg.sv</a>.</p>

<p>References <a class="el" href="axi__pkg_8sv_source.html#l00180">axi_seq_item_ar_vector_s::araddr</a>, <a class="el" href="axi__pkg_8sv_source.html#l00185">axi_seq_item_ar_vector_s::arburst</a>, <a class="el" href="axi__pkg_8sv_source.html#l00187">axi_seq_item_ar_vector_s::arcache</a>, <a class="el" href="axi__pkg_8sv_source.html#l00179">axi_seq_item_ar_vector_s::arid</a>, <a class="el" href="axi__pkg_8sv_source.html#l00183">axi_seq_item_ar_vector_s::arlen</a>, <a class="el" href="axi__pkg_8sv_source.html#l00186">axi_seq_item_ar_vector_s::arlock</a>, <a class="el" href="axi__pkg_8sv_source.html#l00188">axi_seq_item_ar_vector_s::arprot</a>, <a class="el" href="axi__pkg_8sv_source.html#l00189">axi_seq_item_ar_vector_s::arqos</a>, and <a class="el" href="axi__pkg_8sv_source.html#l00184">axi_seq_item_ar_vector_s::arsize</a>.</p>

<p>Referenced by <a class="el" href="axi__monitor_8svh_source.html#l00316">axi_monitor::read_address()</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="axi__uvm__pkg_8sv_aed1da5b42d561f8319065d7d6eed556b_icgraph.png" border="0" usemap="#axi__uvm__pkg_8sv_aed1da5b42d561f8319065d7d6eed556b_icgraph" alt=""/></div>
<map name="axi__uvm__pkg_8sv_aed1da5b42d561f8319065d7d6eed556b_icgraph" id="axi__uvm__pkg_8sv_aed1da5b42d561f8319065d7d6eed556b_icgraph">
<area shape="rect" id="node2" href="classaxi__monitor.html#a1894a2a0b2a491fc4cfc047fe5bc62e9" title="monitors Read Address channel " alt="" coords="143,5,317,32"/>
<area shape="rect" id="node3" href="classaxi__monitor.html#a34a7e7fb040dbba2301f67bf6e40fe91" title="Starts the monitoring threads. " alt="" coords="365,5,523,32"/>
</map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a3c088311f24952a34d4689161adaac3e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">automatic void aw_from_class </td>
          <td>(</td>
          <td class="paramtype">ref <a class="el" href="classaxi__seq__item.html">axi_seq_item</a>&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">output <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__aw__vector__s">axi_seq_item_aw_vector_s</a>&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pull values out of <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a> and stuff into a <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__aw__vector__s" title="This packed struct is used to send write address channel information between the DUT and TB...">axi_seq_item_aw_vector_s</a>. </p>
<p>This funcion returns a ready-to-be used struct so awlen and awaddr are calcuated in this function. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>an <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>v a packed struct of type <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__aw__vector__s" title="This packed struct is used to send write address channel information between the DUT and TB...">axi_seq_item_aw_vector_s</a> </dd></dl>

<p>Definition at line <a class="el" href="axi__uvm__pkg_8sv_source.html#l00094">94</a> of file <a class="el" href="axi__uvm__pkg_8sv_source.html">axi_uvm_pkg.sv</a>.</p>

<p>References <a class="el" href="axi__pkg_8sv_source.html#l00115">axi_seq_item_aw_vector_s::awaddr</a>, <a class="el" href="axi__pkg_8sv_source.html#l00120">axi_seq_item_aw_vector_s::awburst</a>, <a class="el" href="axi__pkg_8sv_source.html#l00122">axi_seq_item_aw_vector_s::awcache</a>, <a class="el" href="axi__pkg_8sv_source.html#l00114">axi_seq_item_aw_vector_s::awid</a>, <a class="el" href="axi__pkg_8sv_source.html#l00118">axi_seq_item_aw_vector_s::awlen</a>, <a class="el" href="axi__pkg_8sv_source.html#l00121">axi_seq_item_aw_vector_s::awlock</a>, <a class="el" href="axi__pkg_8sv_source.html#l00123">axi_seq_item_aw_vector_s::awprot</a>, <a class="el" href="axi__pkg_8sv_source.html#l00124">axi_seq_item_aw_vector_s::awqos</a>, <a class="el" href="axi__pkg_8sv_source.html#l00119">axi_seq_item_aw_vector_s::awsize</a>, <a class="el" href="axi__pkg_8sv_source.html#l00320">calculate_axlen()</a>, and <a class="el" href="axi__pkg_8sv_source.html#l00230">calculate_burst_aligned_address()</a>.</p>

<p>Referenced by <a class="el" href="axi__driver_8svh_source.html#l00138">axi_driver::write_address()</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="axi__uvm__pkg_8sv_a3c088311f24952a34d4689161adaac3e_cgraph.png" border="0" usemap="#axi__uvm__pkg_8sv_a3c088311f24952a34d4689161adaac3e_cgraph" alt=""/></div>
<map name="axi__uvm__pkg_8sv_a3c088311f24952a34d4689161adaac3e_cgraph" id="axi__uvm__pkg_8sv_a3c088311f24952a34d4689161adaac3e_cgraph">
<area shape="rect" id="node2" href="axi__pkg_8sv.html#afbfbf7a50bf6dabae3804e39d05434b1" title="calculate awlen or arlen " alt="" coords="187,13,299,39"/>
<area shape="rect" id="node4" href="axi__pkg_8sv.html#a6c8ade980c77973114ddfd403d25bc23" title="calculate burst_size aligned address " alt="" coords="164,64,323,105"/>
<area shape="rect" id="node3" href="axi__pkg_8sv.html#a1bb88ba6ed9a3a081a64f90042a681b5" title="calculate how unaligned the address is from the burst size " alt="" coords="371,5,521,47"/>
</map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="axi__uvm__pkg_8sv_a3c088311f24952a34d4689161adaac3e_icgraph.png" border="0" usemap="#axi__uvm__pkg_8sv_a3c088311f24952a34d4689161adaac3e_icgraph" alt=""/></div>
<map name="axi__uvm__pkg_8sv_a3c088311f24952a34d4689161adaac3e_icgraph" id="axi__uvm__pkg_8sv_a3c088311f24952a34d4689161adaac3e_icgraph">
<area shape="rect" id="node2" href="classaxi__driver.html#a5948ddb7cc7b2f8f18b3d3d3f5530c03" title="Write Address channel thread. " alt="" coords="164,5,331,32"/>
<area shape="rect" id="node3" href="classaxi__driver.html#a805fb1f256df6dedb3a6d62389203245" title="Launches channel driver threads and then acts as a dispatcher. " alt="" coords="379,5,525,32"/>
</map>
</div>
</p>

</div>
</div>
<a class="anchor" id="acaa78ee9684ddd7ba5bf9cdfa88808e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">automatic void aw_to_class </td>
          <td>(</td>
          <td class="paramtype">ref <a class="el" href="classaxi__seq__item.html">axi_seq_item</a>&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">input <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__aw__vector__s">axi_seq_item_aw_vector_s</a>&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pull values out of a <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__aw__vector__s" title="This packed struct is used to send write address channel information between the DUT and TB...">axi_seq_item_aw_vector_s</a> and stuffs them into an <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a>. </p>
<p>t.len is converted from awlen into a byte len. It uses burst_size (bytes per beat) * beats_per_burst to give a maximum byte length. </p><dl class="section return"><dt>Returns</dt><dd>t an <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">v</td><td>a packed struct of type <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__aw__vector__s" title="This packed struct is used to send write address channel information between the DUT and TB...">axi_seq_item_aw_vector_s</a> </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="axi__uvm__pkg_8sv_source.html#l00125">125</a> of file <a class="el" href="axi__uvm__pkg_8sv_source.html">axi_uvm_pkg.sv</a>.</p>

<p>References <a class="el" href="axi__pkg_8sv_source.html#l00115">axi_seq_item_aw_vector_s::awaddr</a>, <a class="el" href="axi__pkg_8sv_source.html#l00120">axi_seq_item_aw_vector_s::awburst</a>, <a class="el" href="axi__pkg_8sv_source.html#l00122">axi_seq_item_aw_vector_s::awcache</a>, <a class="el" href="axi__pkg_8sv_source.html#l00114">axi_seq_item_aw_vector_s::awid</a>, <a class="el" href="axi__pkg_8sv_source.html#l00118">axi_seq_item_aw_vector_s::awlen</a>, <a class="el" href="axi__pkg_8sv_source.html#l00121">axi_seq_item_aw_vector_s::awlock</a>, <a class="el" href="axi__pkg_8sv_source.html#l00123">axi_seq_item_aw_vector_s::awprot</a>, <a class="el" href="axi__pkg_8sv_source.html#l00124">axi_seq_item_aw_vector_s::awqos</a>, and <a class="el" href="axi__pkg_8sv_source.html#l00119">axi_seq_item_aw_vector_s::awsize</a>.</p>

<p>Referenced by <a class="el" href="axi__monitor_8svh_source.html#l00116">axi_monitor::write_address()</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="axi__uvm__pkg_8sv_acaa78ee9684ddd7ba5bf9cdfa88808e0_icgraph.png" border="0" usemap="#axi__uvm__pkg_8sv_acaa78ee9684ddd7ba5bf9cdfa88808e0_icgraph" alt=""/></div>
<map name="axi__uvm__pkg_8sv_acaa78ee9684ddd7ba5bf9cdfa88808e0_icgraph" id="axi__uvm__pkg_8sv_acaa78ee9684ddd7ba5bf9cdfa88808e0_icgraph">
<area shape="rect" id="node2" href="classaxi__monitor.html#a6b7dc286ef67470782ca0d74f60dc692" title="monitors Write Address channel " alt="" coords="148,5,273,47"/>
<area shape="rect" id="node3" href="classaxi__monitor.html#a34a7e7fb040dbba2301f67bf6e40fe91" title="Starts the monitoring threads. " alt="" coords="321,13,479,39"/>
</map>
</div>
</p>

</div>
</div>
<a class="anchor" id="aaaa8c31d7d52e81bbfb1aaa69ebef75f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">automatic void b_from_class </td>
          <td>(</td>
          <td class="paramtype">inputbid&#160;</td>
          <td class="paramname">[ID_WIDTH-1:0], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">inputbresp&#160;</td>
          <td class="paramname">[2], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">output <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__b__vector__s">axi_seq_item_b_vector_s</a>&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>take values from write response channel and stuff into a <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__b__vector__s" title="This packed struct is used to send write response channel information between the DUT and TB...">axi_seq_item_b_vector_s</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bid</td><td>- Write Response ID tag </td></tr>
    <tr><td class="paramname">bresp</td><td>- Write Response </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>v - packed struct of type <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__b__vector__s" title="This packed struct is used to send write response channel information between the DUT and TB...">axi_seq_item_b_vector_s</a> </dd></dl>

<p>Definition at line <a class="el" href="axi__uvm__pkg_8sv_source.html#l00154">154</a> of file <a class="el" href="axi__uvm__pkg_8sv_source.html">axi_uvm_pkg.sv</a>.</p>

<p>References <a class="el" href="axi__pkg_8sv_source.html#l00163">axi_seq_item_b_vector_s::bid</a>, and <a class="el" href="axi__pkg_8sv_source.html#l00164">axi_seq_item_b_vector_s::bresp</a>.</p>

</div>
</div>
<a class="anchor" id="a966a2770a1d733e0eec230225ca39f77"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">automatic void b_to_class </td>
          <td>(</td>
          <td class="paramtype">ref <a class="el" href="classaxi__seq__item.html">axi_seq_item</a>&#160;</td>
          <td class="paramname"><em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">input <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__b__vector__s">axi_seq_item_b_vector_s</a>&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>return values from a <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__b__vector__s" title="This packed struct is used to send write response channel information between the DUT and TB...">axi_seq_item_b_vector_s</a> and return an <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a> </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">v</td><td>- packed struct of type <a class="el" href="axi__pkg_8sv.html#structaxi__seq__item__b__vector__s" title="This packed struct is used to send write response channel information between the DUT and TB...">axi_seq_item_b_vector_s</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>t - an <a class="el" href="classaxi__seq__item.html" title="contains all data and functions related to axi and usage ">axi_seq_item</a> </dd></dl>

<p>Definition at line <a class="el" href="axi__uvm__pkg_8sv_source.html#l00172">172</a> of file <a class="el" href="axi__uvm__pkg_8sv_source.html">axi_uvm_pkg.sv</a>.</p>

<p>References <a class="el" href="axi__pkg_8sv_source.html#l00163">axi_seq_item_b_vector_s::bid</a>, and <a class="el" href="axi__pkg_8sv_source.html#l00164">axi_seq_item_b_vector_s::bresp</a>.</p>

<p>Referenced by <a class="el" href="axi__monitor_8svh_source.html#l00283">axi_monitor::write_response()</a>.</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="axi__uvm__pkg_8sv_a966a2770a1d733e0eec230225ca39f77_icgraph.png" border="0" usemap="#axi__uvm__pkg_8sv_a966a2770a1d733e0eec230225ca39f77_icgraph" alt=""/></div>
<map name="axi__uvm__pkg_8sv_a966a2770a1d733e0eec230225ca39f77_icgraph" id="axi__uvm__pkg_8sv_a966a2770a1d733e0eec230225ca39f77_icgraph">
<area shape="rect" id="node2" href="classaxi__monitor.html#a999c77ab0723510d713bc1d89b1f5c92" title="monitors Write Response channel and sends out TLM pkt Loop Wait for activity on the Write Response Ch..." alt="" coords="139,5,264,47"/>
<area shape="rect" id="node3" href="classaxi__monitor.html#a34a7e7fb040dbba2301f67bf6e40fe91" title="Starts the monitoring threads. " alt="" coords="312,13,469,39"/>
</map>
</div>
</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="a137c0955e8f91047325731db53b341bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">localparam ADDR_WIDTH = <a class="el" href="params__pkg_8sv.html#a243e565e7e0e8614253648f1c4c47a2a">params_pkg::AXI_ADDR_WIDTH</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="axi__uvm__pkg_8sv_source.html#l00039">39</a> of file <a class="el" href="axi__uvm__pkg_8sv_source.html">axi_uvm_pkg.sv</a>.</p>

<p>Referenced by <a class="el" href="axi__sequential__reads__seq_8svh_source.html#l00064">axi_sequential_reads_seq::body()</a>, <a class="el" href="axi__sequential__writes__seq_8svh_source.html#l00059">axi_sequential_writes_seq::body()</a>, <a class="el" href="axi__pipelined__reads__seq_8svh_source.html#l00140">axi_pipelined_reads_seq::body()</a>, <a class="el" href="axi__pipelined__writes__seq_8svh_source.html#l00131">axi_pipelined_writes_seq::body()</a>, <a class="el" href="axi__driver_8svh_source.html#l00515">axi_driver::read_address()</a>, <a class="el" href="axi__monitor_8svh_source.html#l00316">axi_monitor::read_address()</a>, <a class="el" href="axi__driver_8svh_source.html#l00605">axi_driver::read_data()</a>, <a class="el" href="axi__pipelined__reads__seq_8svh_source.html#l00066">axi_pipelined_reads_seq::response_handler()</a>, <a class="el" href="axi__pipelined__writes__seq_8svh_source.html#l00067">axi_pipelined_writes_seq::response_handler()</a>, <a class="el" href="memory_8svh_source.html#l00085">memory::seq_item_check()</a>, <a class="el" href="axi__driver_8svh_source.html#l00138">axi_driver::write_address()</a>, <a class="el" href="axi__monitor_8svh_source.html#l00169">axi_monitor::write_data()</a>, and <a class="el" href="axi__responder_8svh_source.html#l00199">axi_responder::write_response()</a>.</p>

</div>
</div>
<a class="anchor" id="a72106dc9a410d6f7f00a11d81bfbf4e7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">localparam ID_WIDTH = <a class="el" href="params__pkg_8sv.html#acc3f1524ce307037059dc1777798ee1f">params_pkg::AXI_ID_WIDTH</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="axi__uvm__pkg_8sv_source.html#l00040">40</a> of file <a class="el" href="axi__uvm__pkg_8sv_source.html">axi_uvm_pkg.sv</a>.</p>

<p>Referenced by <a class="el" href="axi__sequential__reads__seq_8svh_source.html#l00064">axi_sequential_reads_seq::body()</a>, <a class="el" href="axi__sequential__writes__seq_8svh_source.html#l00059">axi_sequential_writes_seq::body()</a>, <a class="el" href="axi__pipelined__reads__seq_8svh_source.html#l00140">axi_pipelined_reads_seq::body()</a>, and <a class="el" href="axi__pipelined__writes__seq_8svh_source.html#l00131">axi_pipelined_writes_seq::body()</a>.</p>

</div>
</div>
<a class="anchor" id="aab685431fd1ef23162d3fdbf1784e6cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">localparam LEN_WIDTH = <a class="el" href="params__pkg_8sv.html#afd06121ba6ea9496041ee05853712a73">params_pkg::AXI_LEN_WIDTH</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Definition at line <a class="el" href="axi__uvm__pkg_8sv_source.html#l00041">41</a> of file <a class="el" href="axi__uvm__pkg_8sv_source.html">axi_uvm_pkg.sv</a>.</p>

<p>Referenced by <a class="el" href="axi__seq__item_8svh_source.html#l00095">axi_seq_item::protocol_c()</a>, <a class="el" href="axi__coveragecollector_8svh_source.html#l00064">axi_coveragecollector::sample()</a>, and <a class="el" href="axi__coveragecollector_8svh_source.html#l00035">axi_coveragecollector::uvm_component_utils()</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
